/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ejemplotiendaweb;

import ejb.datos.ClienteFacadeRemote;
import ejb.datos.FamiliaFacadeRemote;
import ejb.datos.ProductoFacadeRemote;
import ejb.negocio.CatalogoFacadeRemote;
import ejb.negocio.CompraFacadeRemote;
import ejemplotiendaweb.controlador.ConexionEJBs;
import ejemplotiendaweb.controlador.ControladorGestionProducto;
import ejemplotiendaweb.controlador.ControladorFamilia;
import ejemplotiendaweb.controlador.PrincipalController;
import ejemplotiendawebswing.ProductoAdmin;
import ejemplotiendawebswing.Familias;
import ejemplotiendawebswing.Principal;
import entidades.Producto;
/**
 *
 * @author franoliva
 */
public class ControladorGeneral {
     public static void init() {
     ConexionEJBs.init("localhost", 3700);
       
        cargarPrincipal();
    }
    
    
     static void cargarPrincipal() {
        Principal gui= new Principal();
        CatalogoFacadeRemote catalogoEJB = ConexionEJBs.getEjb(CatalogoFacadeRemote.class);
        ProductoFacadeRemote productoEJB = ConexionEJBs.getEjb(ProductoFacadeRemote.class);
        CompraFacadeRemote compraEJB = ConexionEJBs.getEjb(CompraFacadeRemote.class);
        ClienteFacadeRemote clienteEJB = ConexionEJBs.getEjb(ClienteFacadeRemote.class);
        PrincipalController gpp = new PrincipalController(gui, catalogoEJB, productoEJB, compraEJB, clienteEJB);
        gui.setControlador(gpp);
        gpp.inicializar();
        gpp.mostrar();
    }
     public static void mostrarDialogoFamilias(Principal principal) {
        Familias gui = new Familias(principal, true); //mostrar el dialogo modal
        FamiliaFacadeRemote facade = ConexionEJBs.getEjb(FamiliaFacadeRemote.class);
        ControladorFamilia gfc = new ControladorFamilia (gui, facade);
        gui.setControlador(gfc);
        gfc.inicializar();
        gfc.mostrar();
    }

    public static void mostrarDialogoProductos(Principal principal, Producto producto) {
        ProductoAdmin gui = new ProductoAdmin(principal, true);
        CatalogoFacadeRemote facade = ConexionEJBs.getEjb(CatalogoFacadeRemote.class);
        ProductoFacadeRemote facadeprod = ConexionEJBs.getEjb(ProductoFacadeRemote.class);
        ControladorGestionProducto guiapc = new ControladorGestionProducto(gui, facadeprod, facade, producto);
        gui.setControlador(guiapc);
        guiapc.inicializar();
        guiapc.mostrar();
    }
    public static void mostrarDialogoProductos(Principal gui) {
        mostrarDialogoProductos(gui, null);
    }
    public static void salir() {
        System.exit(0);
    }

   
}